package avicit.bdp.dgs.mdm.dao;

import avicit.bdp.common.base.BaseDAO;
import avicit.bdp.dgs.mdm.dto.ColumnDTO;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.List;

/**
 * @金航数码科技有限责任公司
 * @作者：developer
 * @邮箱：developer@avic-digital.com
 * @创建时间： 2023-12-04
 * @类说明：ColumnDAO
 * @修改记录：
 * @注意事项：
 * @主要功能：字段DAO
 */
@Repository
public interface ColumnDAO extends BaseDAO<ColumnDTO> {
    /**
     * 批量插入
     *
     * @param columnList
     * @return
     */
    int batchInsertColumn(@Param("columnList") List<ColumnDTO> columnList);

    /**
     * 列举字段列表
     *
     * @param tableId 模型ID
     * @return
     */
    List<ColumnDTO> getColumnListByCond(@Param("tableId") String tableId);

    /**
     * 删除/批量删除字段
     *
     * @param idList  字段ID列表
     * @param tableId 模型ID
     * @return
     */
    int deleteColumnByCond(@Param("idList") List<String> idList, @Param("tableId") String tableId);

    /**
     * 判读名称或编码是否重复
     *
     * @param columnId 字段ID
     * @param name    字段名称
     * @return
     */
    long selectNameCount(@Param("columnId") String columnId, @Param("name") String name);
}
